1
Ottimizzazione della compilazione: Comprendere i profili di rilascio
AI034Lesson 14
00:00

In Rust, Profili di rilascio sono configurazioni predefinite che permettono agli sviluppatori di controllare il compromesso tra tempo di compilazione e prestazioni in esecuzione. Modificando queste impostazioni, puoi personalizzare il comportamento del compilatore per adattarlo al tuo flusso di lavoro corrente, sia esso iterazione rapida o distribuzione in produzione.

1. Profili Dev vs. Release

Cargo ha due profili principali: dev (utilizzato da cargo build) e release (utilizzato da cargo build --release). Il profilo dev è ottimizzato per una compilazione veloce ma produce un codice più lento in esecuzione, mentre il profilo release dedica più tempo all'ottimizzazione del codice macchina per massimizzare l'efficienza.

2. Impostazione dell'opt-level

L'impostazione opt-level è il principale parametro di controllo delle prestazioni. Va da 0 a 3:

  • 0: Nessuna ottimizzazione. Compilazioni veloci, codice lento. (Predefinito per dev)
  • 1-2: Ottimizzazioni intermedie.
  • 3: Ottimizzazioni aggressive. Compilazioni lente, codice più veloce. (Predefinito per release)
  • "s" o "z": Ottimizza la dimensione del file binario invece della velocità.
ProfiloLivello di ottimizzazione predefinitoObiettivo
dev0Iterazione rapida
release3Velocità in produzione

3. Personalizzazione dei profili

Puoi sovrascrivere questi valori predefiniti nel tuo Cargo.toml. È utile quando il codice non ottimizzato è troppo lento per essere testato (ad esempio, in simulazioni complesse), ma una compilazione completa di rilascio richiede troppo tempo.

[profile.dev]
opt-level = 1 # Codice più veloce rispetto al livello 0, ancora veloce da compilare
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>